﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NGI_Enumerador;

namespace NGI_Entidades
{
    public class TipoTelefono : CamposAuditoria
    {
        private Int32 _id = 0;
        private TiposTelefonos _tipo;
        private String _nombre = "";
        private Boolean _activo;

        public Int32 ID
        {
            get { return _id; }
            set { _id = value; }
        }

        public TiposTelefonos Tipo
        {
            get { return _tipo; }
            set { _tipo = value; }
        }

        public String Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }

        public Boolean Activo
        {
            get { return _activo; }
            set { _activo = value; }
        }

        public TipoTelefono(Int32 ID, TiposTelefonos Tipo, String Nombre, Boolean Activo)
        {
            this._id = ID;
            this._tipo = Tipo;
            this._nombre = Nombre;
            this._activo = Activo;
        }

        public TipoTelefono(Int32 ID, TiposTelefonos Tipo)
        {
            this._id = ID;
            this._tipo = Tipo;
        }

        public static TiposTelefonos DameCodigoDe(Int32 ID)
        {
            switch (ID)
            {
                case 1:
                    return TiposTelefonos.Fijo;
                case 2:
                    return TiposTelefonos.Celular;
                case 3:
                    return TiposTelefonos.Fax;
                default:
                    return TiposTelefonos.Fijo;
            }
        }

        public static Int32 DameIndiceDe(TiposTelefonos TipoTelefono)
        {
            switch (TipoTelefono)
            {
                case TiposTelefonos.Fijo:
                    return 1;
                case TiposTelefonos.Celular:
                    return 2;
                case TiposTelefonos.Fax:
                    return 3;
                default:
                    return 1;
            }
        }

        public static TipoTelefono Existente(Int32 ID, String Nombre, Boolean Activo)
        {
            TiposTelefonos TipoElegido;
            switch (ID)
            {
                case 1:
                    TipoElegido = TiposTelefonos.Fijo;
                    break;
                case 2:
                    TipoElegido = TiposTelefonos.Celular;
                    break;
                case 3: 
                    TipoElegido = TiposTelefonos.Fax;
                    break;
                default:
                    TipoElegido = TiposTelefonos.Fijo;
                    break;
            }

            return new TipoTelefono(ID, TipoElegido, Nombre, Activo);
        }
    }
}
